﻿//#region Header

//// CSharp Editor Example with Code Completion
//// Copyright (c) 2006, Daniel Grunwald
//// All rights reserved.
////
//// Redistribution and use in source and binary forms, with or without modification, are
//// permitted provided that the following conditions are met:
////
//// - Redistributions of source code must retain the above copyright notice, this list
////   of conditions and the following disclaimer.
////
//// - Redistributions in binary form must reproduce the above copyright notice, this list
////   of conditions and the following disclaimer in the documentation and/or other materials
////   provided with the distribution.
////
//// - Neither the name of the ICSharpCode team nor the names of its contributors may be used to
////   endorse or promote products derived from this software without specific prior written
////   permission.
////
//// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &AS IS& AND ANY EXPRESS
//// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
//// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
//// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
//// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
//// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
//// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//#endregion Header

//namespace CE.Main
//{
//    using System;
//    using System.Windows.Forms;

//    using ICSharpCode.SharpDevelop.Dom;

//    /// <summary>
//    /// ICSharpCode.SharpDevelop.Dom was created by extracting code from ICSharpCode.SharpDevelop.dll.
//    /// There are a few static method calls that er to GUI code or the code for keeping the parse
//    /// information. These calls have to be implemented by the application hosting
//    /// ICSharpCode.SharpDevelop.Dom by settings static fields with a delegate to their method
//    /// implementation.
//    /// </summary>
//    static class HostCallbackImplementation
//    {
//        #region Methods

//        public static void Register(MainForm mainForm)
//        {
//            // Must be implemented. Gets the project content of the active project.
//            HostCallback.GetCurrentProjectContent = delegate {
//                return mainForm._myProjectContent;
//            };

//            // The default implementation just logs to Log4Net. We want to display a MessageBox.
//            // Note that we use += here - in this case, we want to keep the default Log4Net implementation.
//            HostCallback.ShowError += delegate(string message, Exception ex) {
//                MessageBox.Show(message + Environment.NewLine + ex.ToString());
//            };
//            HostCallback.ShowMessage += delegate(string message) {
//                MessageBox.Show(message);
//            };
//            HostCallback.ShowAssemblyLoadError += delegate(string fileName, string include, string message) {
//                MessageBox.Show("Error loading code-completion information for "
//                                + include + " from " + fileName
//                                + ":\r\n" + message + "\r\n");
//            };
//        }

//        #endregion Methods
//    }
//}